<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.

     Copying and distribution of this file, with or without modification,
     are permitted in any medium without royalty provided the copyright
     notice and this notice are preserved.  -->

<!-- The root element of a GDB target description is <target>.  -->

<!-- The osabi and compatible elements were added post GDB 6.8.  The version
     wasn't bumped, since older GDBs silently ignore unknown elements.  -->

<!ELEMENT target	(architecture?, osabi?, compatible*, feature*)>
<!ATTLIST target
	version		CDATA	#FIXED "1.0">

<!ELEMENT architecture	(#PCDATA)>

<!ELEMENT osabi	(#PCDATA)>

<!ELEMENT compatible	(#PCDATA)>

<!ELEMENT feature
	((vector | flags | struct | union )*, reg*)>
<!ATTLIST feature
	name		ID	#REQUIRED>

<!ELEMENT reg		(description*)>
<!ATTLIST reg
	name		CDATA	#REQUIRED
	bitsize		CDATA	#REQUIRED
	regnum		CDATA	#IMPLIED
	save-restore	(yes | no) 'yes'
	type		CDATA	'int'
	group		CDATA	#IMPLIED
	>

<!ELEMENT vector	EMPTY>
<!ATTLIST vector
	id		CDATA	#REQUIRED
	type		CDATA	#REQUIRED
	count		CDATA	#REQUIRED>

<!ELEMENT flags		(field+)>
<!ATTLIST flags
	id		CDATA	#REQUIRED
	size		CDATA	#REQUIRED>

<!ELEMENT struct	(field+)>
<!ATTLIST struct
	id		CDATA	#REQUIRED
	size		CDATA	#IMPLIED>

<!ELEMENT union		(field+)>
<!ATTLIST union
	id		CDATA	#REQUIRED>

<!ELEMENT field		EMPTY>
<!ATTLIST field
	name		CDATA	#REQUIRED
	type		CDATA	#IMPLIED
	start		CDATA	#IMPLIED
	end		CDATA	#IMPLIED>

<!ENTITY % xinclude SYSTEM "xinclude.dtd">
%xinclude;
